package com.dt.starter;

import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.autoconfigure.domain.EntityScan;
import org.springframework.boot.autoconfigure.orm.jpa.HibernateJpaAutoConfiguration;
import org.springframework.cache.annotation.EnableCaching;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.ImportResource;
import org.springframework.context.annotation.PropertySource;
import org.springframework.transaction.annotation.EnableTransactionManagement;

@SpringBootApplication(exclude= HibernateJpaAutoConfiguration.class)
@ComponentScan(
        basePackages = {"com.dt.starter","com.dt.core","com.dt.module","org.apache.shiro.event","com.dt.core.annotion.impl"}
)
@MapperScan(
        {
                "com.dt.module.base.mapper",
                "com.dt.module.cmdb.mapper",
                "com.dt.module.ct.mapper",
                "com.dt.module.flow.mapper",
                "com.dt.module.form.mapper",
                "com.dt.module.hrm.mapper",
                "com.dt.module.om.mapper",
                "com.dt.module.om.mapper",
                "com.dt.module.ops.mapper",
                "com.dt.module.zbx.mapper",
                "com.dt.module.zc.mapper",
        }
)
@ImportResource(locations = {"classpath:uflo-console-context.xml","classpath:uflo-context-configs.xml"})
@EntityScan({
        "com.bstek.uflo.model"
})
@EnableCaching
@EnableTransactionManagement
public class BootApplication {
    public static void main(String[] args) {
        SpringApplication.run(BootApplication.class, args);
    }

}
